更新时间:2022-09-16 23:33
Modula-2语言(Modula-2 language)一种程序设计语言。它直接源于Modula,二者均由N.Wirth于20世纪80年代初设计,它们继承了PASCAL语言中良好的传统构造,其中包括典型的控制结构、数据类型和过程等概念。并弥补了PASCAL语言的不足,增加新的设施,即引进了模块和进程概念,增加低级设施,采用更为系统化的语法等。
目前,世界上已经开发了近百个Modula-2编译系统。欧洲、加拿大、澳大利亚等不少大学已经用Modula一2代替PASCAL语言作为计算机科学系本科生的第一门程序设计课。
1984年英国标准化学会开始进行Modula一2标准化工作,国际标准化工作始于1987年(ISO/IECJICl/SC 22 WG 13),标准化的一个新颖和重要的方面是首次采用形式化方法,用形式化定义(VDM-SL和扩充的BNF)来表达语言各成分的语法和语义。并伴以自然语言规约语句和注释。
Modula一2语言是一种高功效的通用系统程序设计语言,其设计的宗旨之一就是为多处理机系统的程序设计服务。该语言很好地综合了PASCAL,Modula语言的基本特色。它既可以用来进行完全不依赖具体计算机的高级语言程序设计,又可用于比较低级的关于内部系统的程序设计。特别值得指出的是,Modula一2语言对于并发进程和协同子程序方面的支持,使其更适用于多微处理机系统的通用程序的设计。
Modula一2语言文本篇幅不长,易读,易懂。编译程序也不长,它提供了模块化的结构和简明的语句。因此用它编写的程序有很强的表达能力,且易于移植。
(1)模块性在Modula一2中,把模块分成两个语法成分,即定义性模块和实现性模块,并把那些在模块外可见的对象列在一个明显的移出表中,在模块内引用模块外的对象列在移入表中。Modula一2的模块设施有利于实现模块的分别编译。
(2)良好的控制结构,每个控制结构都以关键字结尾,可避免歧义性,减少不必要的“BEGIN”。提供了丰富的循环控制结构。特别引进LOOP和EXIT语句,可以较方便地代替GOTO语句。
(3)输入输出功能由一组模块来实现,这组模块的层次结构反映了输入输出功能的多种抽象级别。
(4)与机器和实现有关的低级设施放在伪模块SYSTEM中,可在高级语言级上实现。
(5)提供一个层次较高的模块Processes和协同程序,有利于实现并发处理。